package com.yss.netty.util.serialize;

import com.alibaba.fastjson.JSON;
import com.yss.netty.util.Constants;

/**
 * JSON
 */
public class JsonSerializeUtil implements ISerialize {

    /**
     * Serialize to byte
     *
     * @param obj
     * @param <T>
     * @return
     */
    public <T> byte[] serialize(T obj) {
        String jsonStr = JSON.toJSONString(obj);
        return jsonStr.getBytes(Constants.UTF8);
    }

    /**
     * Deserialize to object
     *
     * @param src
     * @param clazz
     * @param <T>
     * @return
     */
    @Override
    public <T> T deserialize(byte[] src, Class<T> clazz) {
        return JSON.parseObject(src, clazz);
    }

}
